package com.softeem.mpdemo.dto;

import lombok.Data;
import lombok.experimental.Accessors;

//投以返回结果：前端请求服务端接口，后台处理完之后同意返回该结果对象
@Data
@Accessors(chain = true)//开启链式编程
public class Result {
//    状态码，表示接口请求后的处理状态，eg0-成功 40004-请求数据不存在 50001-服务器内部错误
    private Integer code;
//    执行结果是否成功
    private boolean success;
//    附加文本消息
    private String msg;
//    附加返回值数据，eg单一对象，结果集等
    private  Object data;
//    先构造器私有化：防止在外界通过new对象创建对象
    private Result(){}
//    封装同一成功返回结果
    public static Result ok(){
        Result r=new Result();
        r.success=true;
        r.code=0;
        r.msg= "请求成功";
        return r;
    }
    //    封装同一失败返回结果
    public static Result fail(){
        Result r=new Result();
        r.success=false;
        r.code=-1;
        r.msg= "请求失败";
        return r;
    }
////    调用setmsg后返回还是他自己 setter和getter结合
    //@Accessors帮忙写好了
//    public Result setMsg(String msg){
//        this.msg = msg;
//        return this;
//    }
}
